import { _HttpClient } from '@delon/theme';
import { Injectable } from '@angular/core';
import { HttpParams, HttpHeaders } from '@angular/common/http';
import { LocalStorage } from '@core/local.storage';
import { environment } from '../../environments/environment';
const responseHeaders = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');

@Injectable({ providedIn: 'root' })

export class ApiService {
  constructor(
    private http: _HttpClient,
    public ls: LocalStorage
  ) { }

  // 车间审批列表
  workshopApprove(page, year, orgid, row, filter, linetype, vcCj) {
    const url = environment.apiBase + '/csmis/ymyear/ymtyearwork/getyearworkplan.jwt?vcCj=' + vcCj + '&page=' + page + '&rows=' + row + '&linetype=' + linetype + '&yearnum=' + year + '&orgid=' + orgid + filter;
    return this.http.get(url);
  }

  yearlyDataDelete(param: { nnDID }) {
    const url = environment.apiBase + '/csmis/ymyear/ymtyearwork/wsDelYearplan.jwt';
    return this.http.get(url, param);
  }

  // 设备名称-设备信息
  equipmentData(staid, devtype, devids, devclass) {
    const url = environment.apiBase + '/csmis/sys/systdevorg/getStaDevs.jwt?staid=' + staid + '&devtype=' + devtype + '&devids=' + devids + '&devclass=' + devclass;
    return this.http.get(url);
  }

  // 车间审核列表
  workshopExamine(page, rows, vcCj) {
    const url = environment.apiBase + '/csmis/ymyear/ymtyearwork/getyearmwork.jwt?vcCj=' + vcCj + '&page=' + page + '&rows=' + rows;
    return this.http.get(url);
  }

  // 库存列表
  getAllMaterial(sqorpz, status) {
    let url = environment.apiBase + '/csmis/MaterialApi/mttout/getallmaterial.jwt';
    switch (status) {
      case '':
        url += '?page=1&rows=999999&sqorpz=' + sqorpz;
        break;
      default:
        url += '?page=1&rows=999999&sqorpz=' + sqorpz + '&status=' + status;
        break;
    }
    return this.http.get(url);
  }

  // 物资申请
  getProbdict(dictId) {
    return this.http.get(environment.apiBase + '/csmis/mt/mtTmaterial/findallmattype.jwt?dictId=' + dictId);
  }

  // 物资修改
  getOutitem(dictId) {
    return this.http.get(environment.apiBase + '/csmis/MaterialApi/mttout/getoutitem.jwt?ids=' + dictId);
  }

  // 物资列表
  getMatType(id) {
    return this.http.get(environment.apiBase + '/csmis/MaterialApi/mttout/getmattype.jwt?page=1&rows=999999&materialid=' + id);
  }

  // 出库提交
  getspmaterial(ids, status) {
    return this.http.get(environment.apiBase + '/csmis/MaterialApi/mttout/getspmaterial.jwt?ids=' + ids + '&status=' + status);
  }

  // 责任人列表
  chargesData(orgId) {
    const url = environment.apiBase + '/csmis/person/getOrgPersonListById.jwt';
    return this.http.get(url, { orgId }, { headers: responseHeaders });
  }

  // 通用列表
  materialsData(path: string, params) {
    let url = environment.apiBase;
    const urlSegments = {
      'goodslist': '/csmis/mt/mtTmaterial/findAll.jwt', // 物资信息
      'warehouse': '/csmis/mt/mtTin/getall.jwt', // 出入库数据
      'warehousemanage': '/csmis/mt/mtTwarehouse/findAll.jwt', // 仓库管理
      'checkstocks': '/csmis/mt/stock/findAll.jwt', // 库存查看
      'distribute': '/csmis/mtd/deliverList/send.jwt', // 物资下发列表
      'distributesignfor': '/csmis/mtd/deliverList/receive.jwt', // 物资下发签收列表
      'allot': '/csmis/mtd/transferList/send.jwt', // 物资调拨列表
      'allotsignfor': '/csmis/mtd/transferList/receive.jwt', // 物资调拨签收列表
      'templanlist': '/csmis/mt/mtp/applyList/view.jwt', // 临时计划申请
      'templanaudit': '/csmis/mt/mtp/applyList/approval.jwt', // 临时计划审批
      'stockstat': '/csmis/mt/stock/materialStock.jwt', // 段总库存
      'constructionplan': '/csmis/constructMonthPlans/findList.jwt', // 月度施工计划查询
      'repairform': '/csmis/ymTtempworkapply/list.jwt', // 高速铁路临时要点维修
      'reportrepair': '/csmis/emerSkywinreport/list.jwt', // 紧急修天窗
      // 'pointplan': '/csmis/dwPlan/findAll/edit.jwt',//点外计划编制  注释时间2019.10.10 15.12 by zhangz
    };
    if (!urlSegments[path]) {
      return;
    }
    url += urlSegments[path];
    return this.http.get(url, params, { headers: responseHeaders });
  }

  // 高速铁路临时要点维修申请表提交
  tempRepairForm(params) {
    const url = environment.apiBase + '/csmis/ymTtempworkapply/save.jwt';
    return this.http.post(url, params);
  }

  // 高速铁路临时要点维修文件查询
  scanRepairFile(params) {
    const url = environment.apiBase + '/csmis/ymTtempworkapply/getOne.jwt';
    return this.http.get(url, params, { headers: responseHeaders });
  }

  // 文件导出
  exportFile(path: string, param) {
    let url = environment.apiBase;
    const urlSegments = {
      'repairform': '/csmis/ymTtempworkapply/export.jwt', // 高速铁路临时要点维修文件导出
      'reportrepair': '/csmis/emerSkywinreport/export.jwt', // 紧急修天窗文件导出
    };
    url += urlSegments[path];
    return this.http.get(url, param, { responseType: 'blob', observe: 'response' });
  }

  // 临时计划部门树
  departmentsPublicTree() {
    const url = environment.apiBase + '/csmis/getPublicOrgTree.jwt';
    return this.http.get(url, '', { headers: responseHeaders });
  }

  // 删除
  delMaterialsData(path, delList) {
    let url = environment.apiBase;
    const urlSegments = {
      'goodslist': '/csmis/mt/mtTmaterial/deletes.jwt', // 删除物资数据
      'warehouse': '/csmis/mt/mtTin/deletes.jwt', // 出入库数据删除
      'warehousemanage': '/csmis/mt/mtTwarehouse/deletes.jwt', // 仓库数据删除
      'repairform': '/csmis/ymTtempworkapply/deletes.jwt', // 高速铁路临时要点维修条目删除
      'reportrepair': '/csmis/emerSkywinreport/deletes.jwt', // 紧急修天窗表格条目删除
      'examconstructionplan': '/csmis/daywork/ymtwadayworksgrwx/deletes.jwt', // 维修日计划条目删除
      'examconstructionplan_sg': '/csmis/peihesg/phtconstructsgxt/deletes.jwt', // 日计划施工条目删除
      'pointplan': '/csmis/dwPlan/deletes.jwt' // 点外计划删除
    };
    url += urlSegments[path];
    return this.http.post(url, '', { ids: JSON.stringify(delList) }, { headers: responseHeaders });
  }

  // 库存物资提交
  getSaveMaterial(ntotalPrice, dtOutTime, vcUseMan, vcStatus, vcType, materialid, cknum, price, inids, callback) {
    const params = new HttpParams()
      .set('ntotalPrice', ntotalPrice)
      .set('dtOutTime', dtOutTime)
      .set('vcUseMan', vcUseMan)
      .set('vcStatus', vcStatus)
      .set('vcType', vcType)
      .set('materialid', materialid)
      .set('cknum', cknum)
      .set('price', price)
      .set('inids', inids);

    this.http.post(environment.apiBase + '/csmis/MaterialApi/mttout/getsavematerial.jwt', params).subscribe(res => {
      callback(res);
    });
  }

  // 提交用户操作记录
  streamPost(id, pid, page, stime, etime, os, browser, ip) {
    const params = new HttpParams()
      .set('id', id)
      .set('pid', pid)
      .set('page', page)
      .set('stime', stime)
      .set('etime', etime)
      .set('os', os)
      .set('browser', browser)
      .set('ip', ip);
    this.http.post(environment.apiBase + '/csmis/sysTactionlogs/save.jwt', params).subscribe(res => {
      // to do
    });
  }

  handover_postInfo(_param: object, _url: string) {
    if (!_url) {
      return;
    }
    const url = environment.apiBase + _url;
    const params = JSON.stringify(_param);
    return this.http.post(url, JSON.parse(params), { responseType: 'text' });
  }

  handover_getInfo(_param: object, _url: string) {
    if (!_url) {
      return;
    }
    const url = environment.apiBase + _url;
    return this.http.get(url, _param, { headers: responseHeaders });
  }

  handover_dispatcher(infoName: string, _param: object, flag: string) {
    let urls;
    if (flag === 'save') {// 修改
      urls = {
        'ryap': '/csmis/duty/updateDuty.jwt', // 人员安排
        'aqxx_gpt': '/csmis/duty/updateSafe.jwt', // 安全信息(高铁普铁)
        'aqxx_qt': '/csmis/duty/updateOther.jwt', // 安全信息(其他信息)
        'aqxx_rzz': '/csmis/duty/updateTrack.jwt', // 安全信息(日安全信息分析追踪)
        'aqxx_ts': '/csmis/duty/updateRisk.jwt', // 安全信息(日安全风险提示)
        'scxx_dfk': '/csmis/duty/updateProd.jwt', // 生产信息方面(段生产重点追踪信息反馈)
        'scxx_zgs_dzz': '/csmis/duty/updateImpTrack.jwt', // 生产信息方面(总公司、集团公司日安全分析重点追踪信息/段日安全分析重点追踪信息反馈)
        'scxx_tcjh_sgph': '/csmis/duty/updateTC.jwt', // 天窗计划-施工/配合
        'scxx_tcjh_wxjh': '/csmis/duty/updateRP.jwt', // 天窗维修
        'scxx_tcjh_wxjh_tcjhb': '/csmis/duty/updateRepairTC.jwt', // 天窗计划表
        'scxx_tcjh_jjxjh': '/csmis/duty/updateUrgent.jwt', // 紧急修计划
        'scxx_czsj': '/csmis/duty/updateHicle.jwt', // 车载数据换装及升级情况
        'scxx_flbltj': '/csmis/duty/updateShunt.jwt', // 分路不良统计分析
        'scxx_ldxz': '/csmis/duty/updateLeader.jwt', // 领导行踪
        // 追踪配合:
        // 总公司、集团公司日安全分析重点追踪信息+
        // 段日安全分析重点追踪信息反馈+
        // 昨日施工配合计划+
        // 今日施工配合计划
        // 的统计信息保存
        'scxx_zzph': '/csmis/duty/updateDutyInfo.jwt',
        'qtxx_aqyjs': '/csmis/duty/updateWarn.jwt', // 安全预警书统计情况
        'qtxx_fxtzs': '/csmis/duty/updateSeR.jwt', // 安全风险通知书统计
        'qtxx_jbyq': '/csmis/duty/updateSeReq.jwt'// 交班重点工作要求
      };
    } else if (flag === 'add') {// 新增
      urls = {
        'aqxx_gpt': '/csmis/duty/saveSafe.jwt', // 安全信息(高铁普铁)
        'aqxx_qt': '/csmis/duty/saveOther.jwt', // 安全信息(其他信息)
        'aqxx_rzz': '/csmis/duty/saveTrack.jwt', // 安全信息(日安全信息分析追踪)
        'aqxx_ts': '/csmis/duty/saveRisk.jwt', // 安全信息(日安全风险提示)
        'scxx_dfk': '/csmis/duty/saveProd.jwt', // 生产信息方面(段生产重点追踪信息反馈)
        'scxx_zgs_dzz': '/csmis/duty/saveImpTrack.jwt', // 生产信息方面(总公司、集团公司日安全分析重点追踪信息/段日安全分析重点追踪信息反馈)
        'scxx_tcjh_sgph': '/csmis/duty/saveTC.jwt', // 天窗计划-施工/配合
        'scxx_tcjh_wxjh': '/csmis/duty/updateRP.jwt', // 天窗维修 20191016 本处应该不会使用到因为维修计划全为修改，加上本行代码为保险
        // 'scxx_tcjh_wxjh': '/csmis/duty/saveRP.jwt',//天窗维修
        'scxx_tcjh_wxjh_tcjhb': '/csmis/duty/saveRepairTC.jwt', // 天窗计划表
        'scxx_tcjh_jjxjh': '/csmis/duty/saveUrgent.jwt', // 紧急修计划
        'scxx_czsj': '/csmis/duty/saveHicle.jwt', // 车载数据换装及升级情况
        'scxx_flbltj': '/csmis/duty/saveShunt.jwt', // 分路不良统计分析
        'scxx_ldxz': '/csmis/duty/saveLeader.jwt', // 领导行踪
        'qtxx_aqyjs': '/csmis/duty/saveWarn.jwt', // 安全预警书统计情况
        'qtxx_fxtzs': '/csmis/duty/saveSeR.jwt', // 安全风险通知书统计
        'qtxx_jbyq': '/csmis/duty/saveSeReq.jwt'// 交班重点工作要求
      };
    } else if (flag === 'del') {// 删除
      urls = {
        'aqxx_gpt': '/csmis/duty/delSafe.jwt', // 安全信息(高铁普铁)
        'aqxx_qt': '/csmis/duty/delOther.jwt', // 安全信息(其他信息)
        'aqxx_rzz': '/csmis/duty/delTrack.jwt', // 安全信息(日安全信息分析追踪)
        'aqxx_ts': '/csmis/duty/delRisk.jwt', // 安全信息(日安全风险提示)
        'scxx_dfk': '/csmis/duty/delProd.jwt', // 生产信息方面(段生产重点追踪信息反馈)
        'scxx_zgs_dzz': '/csmis/duty/delImpTrack.jwt', // 生产信息方面(总公司、集团公司日安全分析重点追踪信息/段日安全分析重点追踪信息反馈)
        'scxx_tcjh_sgph': '/csmis/duty/delTC.jwt', // 天窗计划-施工/配合
        'scxx_tcjh_wxjh': '/csmis/duty/delRP.jwt', // 天窗维修
        'scxx_tcjh_wxjh_tcjhb': '/csmis/duty/delRepairTC.jwt', // 天窗计划表
        'scxx_tcjh_jjxjh': '/csmis/duty/delUrgent.jwt', // 紧急修计划
        'scxx_czsj': '/csmis/duty/delHicle.jwt', // 车载数据换装及升级情况
        'scxx_flbltj': '/csmis/duty/delShunt.jwt', // 分路不良统计分析
        'scxx_ldxz': '/csmis/duty/delLeader.jwt', // 领导行踪
        'qtxx_aqyjs': '/csmis/duty/delWarn.jwt', // 安全预警书统计情况
        'qtxx_fxtzs': '/csmis/duty/delSeR.jwt', // 安全风险通知书统计
        'qtxx_jbyq': '/csmis/duty/delSeReq.jwt'// 交班重点工作要求
      };
    } else {// 查询
      urls = {
        'aqxx_gpt': '/csmis/duty/safeInfo.jwt', // 安全信息(高铁普铁)
        'aqxx_qt': '/csmis/duty/safeOther.jwt', // 安全信息(其他信息)
        'aqxx_rzz': '/csmis/duty/track.jwt', // 安全信息(日安全信息分析追踪)
        'aqxx_ts': '/csmis/duty/risk.jwt', // 安全信息(日安全风险提示)
        'scxx_dfk': '/csmis/duty/prod.jwt', // 生产信息方面(段生产重点追踪信息反馈)
        'scxx_zgs_dzz': '/csmis/duty/impTrack.jwt', // 生产信息方面(总公司、集团公司日安全分析重点追踪信息/段日安全分析重点追踪信息反馈)
        'scxx_zgs_dzz_tj': '/csmis/duty/countImpTrack.jwt', // 生产信息方面(总公司、集团公司日安全分析重点追踪信息/段日安全分析重点追踪信息反馈)
        'scxx_tcjh_sgph': '/csmis/duty/tianchuan.jwt', // 天窗计划-施工/配合
        'scxx_tcjh_wxjh': '/csmis/duty/repair.jwt', // 天窗维修
        'scxx_tcjh_wxjh_tcjhb': '/csmis/duty/repairTC.jwt', // 天窗计划表
        'scxx_tcjh_jjxjh': '/csmis/duty/urgent.jwt', // 紧急修计划
        'scxx_czsj': '/csmis/duty/hicle.jwt', // 车载数据换装及升级情况
        'scxx_flbltj': '/csmis/duty/shunt.jwt', // 分路不良统计分析
        'scxx_ldxz': '/csmis/duty/leader.jwt', // 领导行踪
        'ryap': '/csmis/duty/getDuty.jwt', // 人员安排
        'qtxx_aqyjs': '/csmis/duty/secureWarn.jwt', // 安全预警书统计情况
        'qtxx_fxtzs': '/csmis/duty/secureRisk.jwt', // 安全风险通知书统计
        'qtxx_jbyq': '/csmis/duty/require.jwt', // 交班重点工作要求
        'get_cj': '/csmis/sys/getWorkSpace.jwt', // 获取车间
        'get_cz': '/csmis/sys/getStation.jwt', // 获取车站
        'get_cz_all': '/csmis/sys/getAllStation.jwt'// 获取全部车站
      };
    }

    if (infoName.includes('get_')) {
      return this.handover_getInfo(_param, urls[infoName]);
    } else {
      return this.handover_postInfo(_param, urls[infoName]);
    }
  }

  /*工具清点管理*/
  gjqdgl_dispatcher(infoName: string, _param: object, flag: string, method: string) {
    let urls;
    if (flag === 'save') {// 修改
      urls = {
        'kkbj_sh': '/csmis/toolscheck/toolsTask/review.jwt', // 卡控报警-审核
        'gjzl_table': '/csmis/toolscheck/toolsEquistyle/save.jwt', // 增加工具种类
        'gjlb_table': '/csmis/toolscheck/toolsEquisort/save.jwt'// 修改工具类别
      };
    } else if (flag === 'add') {// 新增
      urls = {
        'gjzl_table': '/csmis/toolscheck/toolsEquistyle/save.jwt', // 增加工具种类
        'gjlb_table': '/csmis/toolscheck/toolsEquisort/save.jwt'// 增加工具类别
      };
    } else if (flag === 'del') {// 删除
      urls = {
        'sxdgl_table': '/csmis/toolscheck/toolsTask/delete.jwt'// 上下道管理表格查询
      };
    } else {// 查询
      urls = {
        'sxdgl_table': '/csmis/toolscheck/toolsTask/tasklist.jwt', // 上下道管理表格查询
        'sxdgl_bm': '/csmis/mt/mtTwarehouse/materialOrgTree.jwt', // 上下道管理部门查询
        'kkbj_table': '/csmis/toolscheck/toolsTask/taskmisslist.jwt', // 卡控报警
        'gjlb_table': '/csmis/toolscheck/toolsEquisort/findAll.jwt', // 工具类别
        'gjtj_table': '/csmis/toolscheck/equipment/findAll.jwt', // 工具统计
        'gjzl_table': '/csmis/toolscheck/toolsEquistyle/findAll.jwt', // 工具种类
        'gjqdgl_bjtj': '/csmis/toolscheck/toolsTask/alertinfo.jwt'// 报警统计（已审核未审核）

      };
    }
    if (method === 'get') {
      return this.handover_getInfo(_param, urls[infoName]);
    } else {
      return this.handover_postInfo(_param, urls[infoName]);
    }
  }

  // 车间
  getAllChejian(yesorno) {
    const url = environment.apiBase + '/csmis/getAllChejian.jwt?yesorno=' + yesorno;
    return this.http.get(url);
  }

  // 工区
  getgongquByCjId(orgId) {
    const url = environment.apiBase + '/csmis/getgongquByCjId.jwt?yesorno=1&orgId=' + orgId;
    return this.http.get(url);
  }

  // 车站
  getStationByOrgId(orgId, yesorno) {
    const url = environment.apiBase + '/csmis/getStationByOrgId.jwt?yesorno=' + yesorno + '&orgId=' + orgId;
    return this.http.get(url);
  }

  // 施工日维修导入列表
  finddayworksgrwx(params) {
    const url = environment.apiBase + '/csmis/daywork/ymtwadayworksgrwx/finddayworksgrwxlist.jwt' + params;
    return this.http.get(url);
  }

  // 日施工导入列表
  finddayworksgrwx_sg(types, status, orgid, cjorgid, finish, begindate, enddate, page, rows) {
    const url = environment.apiBase + '/csmis/peihesg/phtconstructsgxt/findPhTconsrsglist.jwt?page=' + page + '&orgid=' + orgid + '&cjorgid=' + cjorgid + '&finish=' + finish + '&rows=' + rows + '&types=' + types + '&status=' + status + '&begindate=' + begindate + '&enddate=' + enddate;
    return this.http.get(url);
  }

  // 施工日维修派工单查询
  finddayworksgrwxPGD(page, rows, begindate, enddate, types, status, cjorgid, orgid, finish, staid) {
    const url = environment.apiBase +
      '/csmis/daywork/ymtwadayworksgrwx/findsgrwxpgdlist.jwt?begindate='
      + begindate + '&enddate=' + enddate + '&types=' + types + '&status=' + status +
      '&cjorgid=' + cjorgid + '&orgid=' + orgid + '&staid=' + staid + '&finish=' + finish + '&page=' + page + '&rows=' + rows;
    return this.http.get(url);
  }

  // 施工日维修派工单查询
  finddayworksgrwxPGD_sg(page, rows, begindate, enddate, types, status, cjorgid, orgid, finish, staid) {
    const url = environment.apiBase + '/csmis/peihesg/phtconstructsgxt/findsgrsgpgdlist.jwt?begindate='
      + begindate + '&enddate=' + enddate + '&types=' + types + '&status=' + status +
      '&cjorgid=' + cjorgid + '&orgid=' + orgid + '&staid=' + staid + '&finish=' + finish + '&page=' + page + '&rows=' + rows;
    return this.http.get(url);
  }

  // 提交领导审批提交
  updatesgrwxPerson(ids, vcSpPerson, vcStatus, dtSpdate, vcSpNote, vcCjorgq, gateKeeper?) {
    const url = environment.apiBase + '/csmis/daywork/ymtwadayworksgrwx/updatesgrwx.jwt';
    let params: any;
    if (vcStatus === 'shopbatches') {// 车间分批
      params = new HttpParams()
        .set('ids', ids)
        .set('vcCjorgq', vcCjorgq);
    } else {
      switch (vcStatus) {
        case '1': // 领导审批
          params = new HttpParams()
            .set('ids', ids)
            .set('vcSpPerson', vcSpPerson)
            .set('vcStatus', vcStatus)
            .set('dtSpdate', dtSpdate);
          break;
        case '2': // 批准
        case '3': // 驳回
          params = new HttpParams()
            .set('ids', ids)
            .set('vcSpPerson', vcSpPerson)
            .set('vcStatus', vcStatus)
            .set('dtSpdate', dtSpdate)
            .set('vcSpNote', vcSpNote);
          break;
        case '4': // 车间签收
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('vcCjqsperson', vcSpPerson)
            .set('dtCjqsdate', dtSpdate);
          break;
        case '7': // 车间编制派工单签收
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          break;
        case '8': // 车间编制派工单签收
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          break;
        case '9': // 车间编制派工单提报
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('gateKeeper', gateKeeper);
          break;
        case '10': // 车间编制派工单驳回
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          break;
        case '11': // 调度审批批准
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('vcDdspNote', vcSpNote);
          // .set("vcDdspPerson", vcSpPerson)
          // .set("dtDdspdate", dtSpdate)
          break;
        case '12': // 调度审批驳回
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('vcDdspNote', vcSpNote);
          break;
        case '13': // 工区提报完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '14': // 车间提报完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '15': // 车间驳回完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '16': // 调度签收完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '17': // 调度驳回完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
      }
    }
    return this.http.post(url, params, { headers: responseHeaders }, { responseType: 'text' });
  }

  // 提交领导审批提交
  updatesgrwxPerson_sg(ids, vcSpPerson, vcStatus, dtSpdate, vcSpNote, vcCjorgq, gateKeeper?) {
    const url = environment.apiBase + '/csmis/peihesg/phtconstructsgxt/updateSgxtrsg.jwt';
    let params: any;
    if (vcStatus === 'shopbatches') {// 车间分批
      params = new HttpParams()
        .set('ids', ids)
        .set('vcCjorgq', vcCjorgq);
    } else {
      switch (vcStatus) {
        case '1': // 领导审批
          params = new HttpParams()
            .set('ids', ids)
            .set('vcSpPerson', vcSpPerson)
            .set('vcStatus', vcStatus)
            .set('dtSpdate', dtSpdate);
          break;
        case '2': // 批准
        case '3': // 驳回
          params = new HttpParams()
            .set('ids', ids)
            .set('vcSpPerson', vcSpPerson)
            .set('vcStatus', vcStatus)
            .set('dtSpdate', dtSpdate)
            .set('vcSpNote', vcSpNote);
          break;
        case '4': // 车间签收
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('vcCjqsperson', vcSpPerson)
            .set('dtCjqsdate', dtSpdate);
          break;
        case '7': // 车间编制派工单签收
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          break;
        case '8': // 车间编制派工单签收
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          break;
        case '9': // 车间编制派工单提报
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('gateKeeper', gateKeeper);
          break;
        case '10': // 车间编制派工单驳回
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          break;
        case '11': // 调度审批批准
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('vcDdspNote', vcSpNote);
          // .set("vcDdspPerson", vcSpPerson)
          // .set("dtDdspdate", dtSpdate)
          break;
        case '12': // 调度审批驳回
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus)
            .set('vcDdspNote', vcSpNote);
          break;
        case '13': // 工区提报完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '14': // 车间提报完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '15': // 车间驳回完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '16': // 调度签收完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;
        case '17': // 调度驳回完成小结
          params = new HttpParams()
            .set('ids', ids)
            .set('vcStatus', vcStatus);
          // .set("vcDdspNote", vcSpNote)
          break;

      }
    }
    return this.http.post(url, params, { headers: responseHeaders }, { responseType: 'text' });
  }

  // 提交领导审批下拉框
  getDldPerson(orgids) {
    const url = environment.apiBase + '/csmis/person/getDldPerson.jwt?orgids=' + orgids;
    return this.http.get(url);
  }

  // 备品备件
  getspareList(param) {
    const url = environment.project + '/sparepartsStatistics/query';
    return this.http.get(url, param);
  }

  // 获取车站类型列表
  getAllTypesByStaId(staid) {
    const url = environment.apiBase + '/csmis/devTypes/getAllTypesByStaId1.jwt?station=' + staid;
    return this.http.get(url);
  }

  // 获取设备分级列表
  getdevTypelevelBydevTypeId(devTypeid) {
    const url = environment.apiBase + '/csmis/devTlevels/getLevelsByDevTypeId.jwt?devType=' + devTypeid;
    return this.http.post(url);
  }

  // 车站名称分组
  getorgstatree() {
    const url = environment.apiBase + '/csmis/publicTree/getorgstatree.jwt';
    return this.http.get(url);
  }

}
